import re
print(help(re.split))
#第1步，体验字符串split与正则split函数的相似之处
arp_record='172.29.50.150   4c1f-ccb4-5157            I -  Vlanif41'
print(re.split(r' ',arp_record))
#由于字符间出现多个空格，我们又马单个空格作为分割条件，就会出现空格分隔空格的情况，从而出现很多空字符串
print(arp_record.split(' '))

#第2步 split函数分割项正则化
print(re.split(r' +',arp_record))

print(re.split(r' +',arp_record,maxsplit=2))
#参数maxsplit=2表示匹配空格，分割2次后就停了，源字符往后剩余的字符串就不再处理，当成返回列
#表的最后一项一并返回。
#默认情况下，参数maxsplit=0,表示能分割多少次就分割多少次。

#第4步 不设置捕获组
print(re.split(r'((I -)| )+',arp_record))

print(re.split(r' +I -+| +',arp_record))
#管道符|表示或，这个表达式是两个正则规则的组合，要么匹配左边要么匹配右边
# +|- +空格一个或多个，接着l-，接着空格一个或多个
# + 空格一个或多个

#第5步 设置捕获组
#该打括号
print(re.split(r'((I -)| )+',arp_record))

print(re.split(r'(?:(?:I -)| )+',arp_record))